﻿using DevComponents.DotNetBar.SuperGrid;
using SDATA;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace SABI
{
    public partial class frm0064 : Form
    {
        public frm0064()
        {
            InitializeComponent();
        }

        DataTable dt_Grid1 = new DataTable();

        private void frm0065_Load(object sender, EventArgs e)
        {

        }

        private void frm0065_Shown(object sender, EventArgs e)
        {
            loadDATA();
        }

        void loadDATA()
        {
            string sql = "SELECT * FROM tb0041 ORDER BY EmployeeTypeID";
            dt_Grid1 = FRM.GetDataTable(sql);
            GridDB1.PrimaryGrid.DataSource = dt_Grid1;
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            (Application.OpenForms["frmHome"] as frmHOME).CloseTab(this);
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            nAdd();
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (!CheckInput()) { return; }
            string sql = "";
            if (txtEmployeeTypeID.Enabled)
            {
                sql = "INSERT tb0041(EmployeeTypeID,EmployeeName,Disabled,CreateDate,CreateUserID,LastModifyDate,LastModifyUserID)";
                sql += string.Format(" VALUES('{0}',N'{1}','{2}',GETDATE(),'{3}',GETDATE(),'{3}')", txtEmployeeTypeID.Text, txtEmployeeName.Text, chkDisabled.Checked?1:0, FRM.UserName);
                if (DATA.ExecuteNonQuery(sql, FRM.ConnectString))
                {
                    SDLL.DLL02.Info("Lưu dữ liệu thành công");
                    loadDATA();
                }
                else { SDLL.DLL02.Alert("Lưu dữ liệu thất bại"); }
            }
            else
            {
                sql = "UPDATE tb0041 SET EmployeeName=N'{0}', Disabled='{1}', LastModifyDate=GETDATE(), LastModifyUserID='{2}' WHERE EmployeeTypeID='{3}'";
                sql = string.Format(sql, txtEmployeeName.Text, chkDisabled.Checked?1:0, FRM.UserName, txtEmployeeTypeID.Text);
                if (DATA.ExecuteNonQuery(sql, FRM.ConnectString))
                {
                    SDLL.DLL02.Info("Cập nhật dữ liệu thành công");
                    loadDATA();
                }
                else { SDLL.DLL02.Alert("Cập nhật dữ liệu thất bại"); }
            }
        }

        bool CheckInput()
        {
            if(txtEmployeeTypeID.Text.Trim()=="")
            {
                SDLL.DLL02.Alert("Bạn phải nhập Mã loại nhân viên");
                txtEmployeeTypeID.Focus();
                return false;
            }
            else if (txtEmployeeName.Text.Trim() == "")
            {
                SDLL.DLL02.Alert("Bạn phải nhập Tên loại nhân viên");
                txtEmployeeName.Focus();
                return false;
            } 
            return true;
        }

        void nAdd()
        {
            txtEmployeeName.Text = "";
            txtEmployeeTypeID.Text = "";
            txtEmployeeTypeID.Enabled = true;
        }

        void nDelete()
        {
            if (GridDB1.PrimaryGrid.GetSelectedRows().Count < 1)
            {
                SDLL.DLL02.Alert("Bạn phải chọn dòng cần xóa!");
                return;
            }
            if (!SDLL.DLL02.Confirm("Bạn có chắc muốn xóa?", "Xác nhận")) { return; }

            string sql = "DELETE tb0041 WHERE EmployeeTypeID='{0}'";
            sql = string.Format(sql, txtEmployeeTypeID.Text);
            if (DATA.ExecuteNonQuery(sql, FRM.ConnectString))
            {
                loadDATA();
            }
            else
            {
                SDLL.DLL02.Alert("Xóa dữ liệu không thành công");
            }
        }

        void nInfo()
        {
            string tn = "tb0041";
            string ws = string.Format("WHERE EmployeeTypeID='{0}'", txtEmployeeTypeID.Text);
            Form frm = new frm0067(tn, ws);
            frm.ShowDialog();
        }
        void nRefresh()
        {
            loadDATA();
        }

        private void GridDB1_SelectionChanged(object sender, DevComponents.DotNetBar.SuperGrid.GridEventArgs e)
        {
            if (GridDB1.PrimaryGrid.GetSelectedRows().Count < 1) { return; }
            GridRow gr = (GridRow)GridDB1.PrimaryGrid.GetSelectedRows()[0];
            DataRowView drv = (DataRowView)gr.DataItem;
            DataTable dt = dt_Grid1.Clone();
            dt.ImportRow(drv.Row);
            txtEmployeeTypeID.Text = dt.Rows[0]["EmployeeTypeID"].ToString();
            txtEmployeeName.Text = dt.Rows[0]["EmployeeName"].ToString();
            chkDisabled.Checked = dt.Rows[0]["Disabled"].ToString() == "1" ? true : false;
            txtEmployeeTypeID.Enabled = false;
        }

        private void mAdd_Click(object sender, EventArgs e)
        {
            nAdd();
        }

        private void mDelete_Click(object sender, EventArgs e)
        {
            nDelete();
        }

        private void mRefresh_Click(object sender, EventArgs e)
        {
            nRefresh();
        }

        private void mSystemInfo_Click(object sender, EventArgs e)
        {
            nInfo();
        }

    }
}
